/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controladores;

import entidades.Familia;
import entidades.Producto;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.html.HtmlDataTable;

/**
 *
 * @author ribadas
 */
@ManagedBean(name = "catalogoController")
@SessionScoped
public class CatalogoController extends BaseController {

    // Atributos Producto
    private String theImage;
    private String descripcion;
    private String detalle;
    private String precio;
    private int existencias;
    private String marca;
    private String modelo;
    //---------Para Producto----------------------------------------
    private List<Producto> lista ;
    private Producto producto;
    private int index;
    private HtmlDataTable tabla;
    //------------------
    private Familia familiaActual = new Familia();
    private List<Familia> familias = null;
    private String consultaDescripcion;
    private String consultaMarca;
    // EJBs

    /** Creates a new instance of CatalogoController */
    public CatalogoController() {
        producto = new Producto();
    }

    //---------Para Producto----------------------------------------
public List<Producto> getLista() {
    if(lista == null){
        lista = new ArrayList<Producto>();
        lista.add(new Producto("monitor","22 pulgadas","1200",10,"lg","wide"));
        lista.add(new Producto("teclado","negro","55",10,"hva","avanzado"));
        lista.add(new Producto("parlantes","portatiles","25",3,"hva","5.1"));
        lista.add(new Producto("monitor","16 pulgadas","1200",10,"lg","wide"));
        lista.add(new Producto("teclado","gris","10",10,"hva","ergo"));
        lista.add(new Producto("parlantes","sub","150",10,"hva","2.1"));
    }

        return lista;
    }
 
    public void cargarLista() {
        producto = new Producto(descripcion, detalle, precio, existencias, marca, modelo);
        this.lista.add(producto);

    }

    public void seleccionLista() {
        producto = (Producto) tabla.getRowData();
        this.index = tabla.getRowIndex();
        this.descripcion = producto.getDescripcion();
        this.detalle = producto.getDetalle();
        this.precio = producto.getPrecio();
        this.existencias = producto.getExistencias();
        this.marca = producto.getMarca();
        this.modelo = producto.getModelo();
        if (this.descripcion.equals("monitor"))
            this.theImage="./resources/monitor.jpeg";
        if (this.descripcion.equals("teclado"))
            this.theImage="./resources/teclado.png";
        if (this.descripcion.equals("parlantes"))
            this.theImage="./resources/parlantes.png";
    }

    // Acciones para páginas JSF
    public String doBusquedaDescripcion() {

        String destino = null;


        destino = "productos";
        return destino;
    }

    public String doBusquedaMarca() {
        String destino = null;
        if (consultaMarca.equals("lg")) {
            destino = "detalleProducto";

        } else {
            destino = "productos";
        }
        return destino;
    }

    public String doSeleccionarFamilia() {
        String destino = null;

        destino = "productos";
        return destino;
    }

    public String doVerTodos() {
        String destino = null;


        destino = "productos";
        return destino;
    }

    public String doVerProductoActual(long idProducto) {
        String destino = null;

        destino = "productos";
        return destino;
    }



    public void setLista(List<Producto> lista) {
        this.lista = lista;
    }


    public int getExistencias() {
        return existencias;
    }

    public void setExistencias(int existencias) {
        this.existencias = existencias;
    }

    public String getMarca() {
        return marca;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }

    public String getModelo() {
        return modelo;
    }

    public void setModelo(String modelo) {
        this.modelo = modelo;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getDetalle() {
        return detalle;
    }

    public void setDetalle(String detalle) {
        this.detalle = detalle;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

   

    public void setLista(ArrayList<Producto> lista) {
        this.lista = lista;
    }

    public String getPrecio() {
        return precio;
    }

    public void setPrecio(String precio) {
        this.precio = precio;
    }


    public void setProducto(Producto producto) {
        this.producto = producto;
    }

    public HtmlDataTable getTabla() {
        return tabla;
    }

    public void setTabla(HtmlDataTable tabla) {
        this.tabla = tabla;
    }

    // Métodos get y set
    public String getConsultaDescripcion() {
        return consultaDescripcion;
    }

    public void setConsultaDescripcion(String consultaDescripcion) {
        this.consultaDescripcion = consultaDescripcion;
    }

    public String getConsultaMarca() {
        return consultaMarca;
    }

    public void setConsultaMarca(String consultaMarca) {
        this.consultaMarca = consultaMarca;
    }

    public Familia getFamiliaActual() {
        return familiaActual;
    }

    public void setFamiliaActual(Familia familiaActual) {
        this.familiaActual = familiaActual;
    }

    public List<Familia> getFamilias() {



        return familias;
    }

    public String getTheImage() {
      
        return theImage;
    }

    public void setTheImage(String theImage) {
        this.theImage = theImage;
    }

}
